package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
	"strings"
)

func HttpDownload(httpUrl string) {

	url := strings.Replace(httpUrl, "http://", "", -1)

	strSqlit := strings.Split(url, "/")
	UrlString := "./download/" + strings.Replace(url, strSqlit[strings.Count(url, "/")], "", -1)
	fmt.Printf(UrlString)
	os.MkdirAll(UrlString, 0777)
	f, err := os.OpenFile(UrlString+strSqlit[strings.Count(url, "/")], os.O_APPEND|os.O_RDWR|os.O_CREATE, 0777) //其实这里的 O_RDWR应该是 O_RDWR|O_CREATE，也就是文件不存在的情况下就建一个空文件，但是因为windows下还有BUG，如果使用这个O_CREATE，就会直接清空文件，所以这里就不用了这个标志，你自己事先建立好文件。
	fmt.Println(UrlString + strSqlit[strings.Count(url, "/")])
	if err != nil {
		fmt.Println("adadfasfd")
	}
	resp, err := http.DefaultClient.Get(httpUrl)
	written, err := io.Copy(f, resp.Body)
	if err != nil {
		panic(err)
	}
	println("written: ", written)
}
